package cn.desk.desktop.action;

import java.util.Collection;
import java.util.List;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import cn.desk.commons.action.CurdAction;
import cn.desk.commons.entity.PageMode;
import cn.desk.desktop.entity.ShortCut;
import cn.desk.desktop.service.IShortCutService;

public class ShortCutAction<T extends ShortCut> extends CurdAction<T> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static final Logger logger = LoggerFactory
			.getLogger(ShortCutAction.class);
	private IShortCutService<T> shortCutService;
//	@Override
//	public String add() {
//		logger.debug("add start");
//		try {
//			return super.add();
//		} finally {
//			logger.debug("add end");
//		}
//	}

	public String listAllParent() {
		logger.debug("listAllParent start");
//		if (t == null) {
//		} else if (t.getParent() == null) {
//			t = null;
//		}
//		User user=(User) getSessionValue(UserAction.SESSION_KEY_USER);
		list = shortCutService.listIndex(t);
		logger.debug("listAllParent end");
		return "listAllParent";
	}

//	@SuppressWarnings("unchecked")
//	public String listAllMenu() {
//		logger.debug("listAllMenu start");
//		ShortCut sh = new ShortCut();
//		sh.setType("2");
//		list = service.list((T) sh);
//		logger.debug("listAllMenu end");
//		return "listAllMenu";
//	}

//	@Override
//	public String load() {
//		logger.debug("load start");
//		try {
//			listAllMenu();
//			return super.load();
//		} finally {
//			logger.debug("load end");
//		}
//	}

	@Override
	public String getModeName() {
		return "shortCut";
	}

	@Override
	public List<T> getList() {
		return super.getList();
	}

	@Override
	public Map<String, List<String>> getFieldErrors() {
		return super.getFieldErrors();
	}

	@Override
	public Collection<String> getActionErrors() {
		return super.getActionErrors();
	}

	@Override
	public T getT() {
		return super.getT();
	}

	@Override
	public PageMode<T> getPageMode() {
		return super.getPageMode();
	}

	public void setShortCutService(IShortCutService<T> shortCutService) {
		this.shortCutService = shortCutService;
	}
}
